先日、「VLOOKUP や HLOOKUP じゃなくて、交差しているセルの値を表示するには
どうしたらよいの?」と聞かれたので、INDEX 関数を使って求める方法を書いておきます。


ここでは、宅配便の料金表をイメージして、
下図のような表と条件となるサイズや場所を入力するセルなどを用意してあります。
条件を指定したら、知りたい料金が料金のセル (I2) に表示される簡単な仕組みを作ってみます。1Excel201108-002.jpg


step1Excel201108-002.jpg

INDEX 関数は一般的によく利用されている SUM や IF などの関数と違って、
少し特徴的な数式の作り方ができる関数です。


ただ、ややこしくなってしまうといけないので、
今回は「表の行と列の交差したセルの値を表示する」という目的を達成するために、
なるべくシンプルに基本的なことを書いておきます。


今回は、数式で下記のように引数を指定します。


INDEX (参照するセル範囲,行番号,列番号)
参照するセル範囲 には、検索する表のデータ部分のセル範囲を指定します。下図で紺色や水色で
塗りつぶしをした見出し部分は範囲に含めません。


行番号には、検索したい行の位置を指定します。たとえば、サイズ 100 の行を対象としたいのなら、
「3」と指定します。


列番号には、検索したい列の位置を指定します。たとえば、場所が関東の列を対象としたいのなら、
「2」と指定します。

2Excel201108-002.jpg


step2Excel201108-002.jpg


ここではセル I2 に結果を表示するための数式を作ります。
ちなみに今回は、数式で使用する行番号はセル C4 に、列番号はセル F4 に手入力することにします。
セル C2 に入力されているサイズと、セル F4 に入力されている場所の情報を見て、
自分で参照用の表の何行目、何列目なのかを手入力するのです。
(えー、めんどくさいー。と思わないで。徐々に使いやすく磨いていきましょう。)


1.セル I2 に「=INDEX(C8:L13,C4,F4)」となるように数式を作成します。
3Excel201108-002.jpg

2.行番号と列番号のセルが空白だと、計算結果がエラーとなります。
セル C2 とセル F2 を見て、それぞれのセルに行番号と列番号を入力してみましょう。
交差している位置のセルの値がセル I2 に表示されます。
4Excel201108-002.jpg

 

3.場所 (列番号) などを変更してみると、計算結果が更新されて正しい料金が表示されることが
わかります。

Excel201108-002.jpg


 

おまけ

まったく仕組みとしては成長していないけれど、、、
行番号や列番号を探すのをちょっとだけ楽にしたいなら、こんな感じ↓に行番号と列番号を
入れておくのだって間違いではないですよね。6Excel201108-002.jpg
 

 


今回は INDEX 関数の基本を知っていただくために、手入力を駆使した?手順で作ってみました。
INDEX 関数を使えば、表の指定した行と列の交差する位置のセルの値を表示できることは
おわかりいただけたでしょうか。


「サイズと場所を入れるだけにしたい」とか、
「行番号や列番号が表示されているセルが邪魔」とか、
「参照したいセルが 2 つあるんだけど」とか、
 

ほかにもいろいろご希望はあるでしょう。これらは分けて書きますね。
次回は「サイズと場所を入れるだけにしたい」を解決するために、
もう 1 つの関数との組み合わせを書きます。待ちきれない方はヘルプやほかの方のサイトを
参考にお勉強なさってくださいね。

 

石田かのこ